package ventanas;

import java.awt.event.KeyAdapter;
import java.awt.event.KeyEvent;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.util.List;
import javax.swing.table.DefaultTableModel;
import javax.swing.table.TableColumn;
import bean.Marca;
import recursos.MIFMantenimiento;
import recursos.Sesion;

public class IFMarca extends MIFMantenimiento {
	private static final long serialVersionUID = 1L;

	public IFMarca() {
		lblDBuscar.setLocation(79, 8);
		txtDBuscar.setSize(46, 20);
		lblDDescripcion.setBounds(73, 17, 60, 16);
		txtDDescripcion.setSize(86, 5);
		cboDTipo.setLocation(184, 35);
		lblBTipo.setLocation(161, 23);
		lblBDescripcion.setSize(56, 16);
		cboBTipo.setSize(140, 20);
		cboBTipo.setLocation(162, 38);
		lblDTipo.setLocation(184, 19);
		cboDTipo.setSize(140, 20);
		txtDNombre.setBounds(10, 35, 170, 20);
		lblDOrden.setLocation(330, 19);
		txtDOrden.setBounds(330, 35, 60, 20);
		lblDActivo.setLocation(395, 19);
		chkDActivo.setBounds(400, 34, 25, 23);
		scpBusqueda.setSize(419, 248);
		txtBOrden.setSize(63, 20);
		lblBOrden.setLocation(305, 22);
		lblBDescripcion.setLocation(95, 22);
		lblBSituacion.setLocation(372, 23);
		lblBBuscar.setLocation(74, 23);
		cboBActivo.setSize(57, 20);
		cboBActivo.setLocation(372, 38);
		lblBNombre.setLocation(10, 22);
		lblBCodigo.setLocation(64, 22);
		scpBusqueda.setLocation(10, 64);
		txtBCodigo.setLocation(74, 20);
		lblBCodigo.setVisible(false);
		txtBCodigo.setVisible(false);
		lblBNombre.setText("Marca");
		lblDNombre.setText("Marca");
		lblResultadoBusqueda.setLocation(20, 366);
		txtDBuscar.setLocation(103, 17);
		txtDBuscar.setVisible(false);
		lblDBuscar.setVisible(false);
		txtDDescripcion.setLocation(63, 17);
		txtDDescripcion.setVisible(false);
		lblDDescripcion.setVisible(false);
		txtBNombre.setBounds(10, 38, 150, 20);
		txtBOrden.setLocation(305, 38);
		txtBBuscar.setLocation(64, 20);
		txtBDescripcion.setLocation(74, 20);
		txtBBuscar.setVisible(false);
		lblBBuscar.setVisible(false);
		txtBDescripcion.setVisible(false);
		lblBDescripcion.setVisible(false);
		pnDatos.setBounds(4, 7, 439, 65);
		pnBusqueda.setSize(439, 320);
		pnBusqueda.setLocation(4, 83);
		cboDTipo.executeQuery("tbl_TipoInformacion", "id", "nombre_tipo"," situacion='01' ");
		cboBTipo.executeQuery("tbl_TipoInformacion", "id", "nombre_tipo", " situacion='01' ");
		setTitle(getTitle() + "-" + Sesion.tfiMantenimientoMarcas);
		registrarCabecera();
		activaControles();
		limpiarTabla();
		tbBusqueda.addKeyListener(new KeyAdapter() {
			@Override
			public void keyReleased(KeyEvent e) {
				pintar();
			}
		});
		tbBusqueda.addMouseListener(new MouseAdapter() {
			@Override
			public void mouseReleased(MouseEvent e) {
				pintar();
			}
		});
	}

	@Override
	public void limpiarTabla() {
		tbBusqueda.setModel(dtm = new DefaultTableModel(datos, cabecera));
		ocultarColumna();
		setResultadoBusqueda(tbBusqueda.getRowCount());
		TableColumn colNombre = tbBusqueda.getColumn(1);
		TableColumn colTbiden = tbBusqueda.getColumn(2);
		TableColumn colOrden = tbBusqueda.getColumn(3);
		TableColumn colSit = tbBusqueda.getColumn(4);

		colNombre.setPreferredWidth(180);
		colTbiden.setPreferredWidth(130);
		colOrden.setPreferredWidth(50);
		colSit.setPreferredWidth(45);
	}

	private void ocultarColumna(){
		tbBusqueda.getColumnModel().getColumn(0).setMaxWidth(0);
		tbBusqueda.getColumnModel().getColumn(0).setMinWidth(0);
		tbBusqueda.getTableHeader().getColumnModel().getColumn(0).setMaxWidth(0);
		tbBusqueda.getTableHeader().getColumnModel().getColumn(0).setMinWidth(0);
	}
	
	public void cargarTabla(List<Marca> listado) {
		limpiarTabla();
		for (Marca obj : listado) {
			Object datos[] = { obj.getId(),obj.getMarca(),obj.getTbiden(),obj.getOrden(),obj.getSituacion()};
			dtm.addRow(datos);
		}
		setResultadoBusqueda(tbBusqueda.getRowCount());
	}
	
	public void cargarTabla(Marca obj) {
		limpiarTabla();
		Object datos[] = { obj.getId(),obj.getMarca(),obj.getTbiden(),obj.getOrden(),obj.getSituacion()};
		dtm.addRow(datos);
		setResultadoBusqueda(tbBusqueda.getRowCount());
	}

	@Override
	public void registrarCabecera() {
		cabecera = new String[5];
		cabecera[0] = "Id";
		cabecera[1] = "Marca";
		cabecera[2] = "Tipo";
		cabecera[3] = "Orden";
		cabecera[4] = "Sit.";
	}
	
	private void pintar(){
		if (tbBusqueda.getSelectedRow() > -1) {
			String id = tbBusqueda.getValueAt(
					tbBusqueda.getSelectedRow(), 0).toString();
			String nombre = tbBusqueda.getValueAt(
					tbBusqueda.getSelectedRow(), 1).toString();
			String tbiden = tbBusqueda.getValueAt(
					tbBusqueda.getSelectedRow(), 2).toString();
			String orden = tbBusqueda.getValueAt(
					tbBusqueda.getSelectedRow(), 3).toString();
			String activo = tbBusqueda.getValueAt(
					tbBusqueda.getSelectedRow(), 4).toString().trim();
			
			setId(id);
			setDNombre(nombre);
			setDTipo(tbiden);
			setDOrden(orden);
			if(activo.equals("01")){
				setDActivo(true);
			}else{
				setDActivo(false);
			}
		}
	}
}
